<?php

class Cursos extends Zend_Db_Table_Abstract
{

    protected $_name = 'curso';

    public function getCurso($id)
    {
        $id = (int)$id;
        $row = $this->fetchRow('id = ' . $id);
        if (!$row) {
            throw new Exception("Curso não encontrado: $id");
        }
        return $row->toArray();
    }

    public function addCurso($mdl_curso_id,$curso_status_id,$responsavel_id,$curso,$data_inicio,$data_conclusao)
    {
        $data = array(
            'mdl_curso_id' => $mdl_curso_id,
            'curso_status_id' => $curso_status_id,
            'responsavel_id' => $responsavel_id,
            'curso' => $curso,
            'data_inicio' => $data_inicio,
            'data_conclusao' => $data_conclusao,
        );
        $this->insert($data);
    }

    public function updateCurso($id, $mdl_curso_id,$curso_status_id,$responsavel_id,$curso,$data_inicio,$data_conclusao)
    {
        $data = array(
            'mdl_curso_id' => $mdl_curso_id,
            'curso_status_id' => $curso_status_id,
            'responsavel_id' => $responsavel_id,
            'curso' => $curso,
            'data_inicio' => $data_inicio,
            'data_conclusao' => $data_conclusao,
        );
        $this->update($data, 'id = '. (int)$id);
    }

    public function deleteCurso($id)
    {
        $this->delete('id =' . (int)$id);
        $cursoEtapas = new CursoEtapas();
        $cursoEtapas->delete('curso_id='.$id);
        $cursoTarefas = new CursoTarefas();
        $cursoTarefas->delete('curso_id='.$id);
    }

    public function getCustomSelect($where,$order,$limit=null)
    {
            $select = $this->getAdapter()->select();
            $select->from(array('c' => 'curso'),array(
                'id',
                'mdl_curso_id',
                'curso_status_id',
                'responsavel_id',
                'curso',
                'data_inicio',
                'data_conclusao'
            ));
            $select->join(array('u' => 'usuario'),'u.id = c.responsavel_id',array('responsavel'=>'nome'));
            $select->join(array('s' => 'curso_status'),'s.id = c.curso_status_id',array('status'));
            if ($where !== null)
            $select->where($where);
            $select->order($order);
            $select->limit($limit);
            return $select->query()->fetchAll();
    }


}

